The last few years in telecommunications have seen quantum leaps in capabilities of telecommunications systems to allow a finite pool of attendants to increase its effectiveness, whether handling primarily outbound calling or inbound calling. Systems have been developed (for example, U.S. Pat. Nos. 4,599,493 and 4,797,911) which automatically dial a number and then connect a live attendant when the called party answers the call. For efficiency, because there are always a certain number of unanswered or busy calling connections, and because some of the numbers called are, in fact, machines, it stands to reason that an automated call placing (ACP) system can improve efficiency by attempting more calls than there are attendants. To make this effective, the system should begin the call placement routine before a live attendant is actually available. However, this procedure opens the possibility of an answer occurring with no available attendant.
For the sake of economy, a system manager would like to have all of the attendants busy all of the time. On the other hand, it is important in many applications to minimize the amount of time a called party is placed on hold. It is the nature of ACP systems that these two goals are mutually exclusive, that is to say: you can have 100% attendant utilization at the cost of lengthy customer hold time, or have no customer hold time at the cost of low attendant utilization (long attendant idle time). The purpose of an outbound call pacing algorithm is to allow the system attendant to control one or the other of these parameters. By setting the pacing level, a system attendant can make a trade-off between these parameters.
Other parameters around which systems can be controlled are the number of customers waiting for an attendant, the number of disconnects on hold by answered customers, attendant idle time, or perhaps the amount of time that a customer must wait on hold.
Such an ACP system having an ability to predict call completion times and thereby maximize attendant utilization is described in a co-pending application entitled "System and Method for Controlling Call Placement Rate for Telephone Communication Systems," which was filed on Feb. 19, 1991, was assigned Ser. No. 07/657,631 and is assigned to the assignee of the present invention. The invention described therein solves the problems inherent with ACP by implementing an enhancement to existing predictive dialing systems. This enhancement allows an ACP system to automatically place calls for live attendants in such a way as to cause a new call to be answered close to the time when the attendant finishes talking on the previous call.
The purpose of any predictive dialer is to keep attendants busy handling phone calls. This means that any part of the call-placing process that can be automated, should be. Of course, a system could simply automatically dial the number for the attendant, but this typically only saves a few seconds of the attendant's time on each call.
A much more productive call task to automate is the time the attendant spends listening to the ringing and waiting for an answer. If a system can automatically determine when the phone is ringing and when a person answers the phone, then this process can be done in parallel with the attendant's conversation. This can easily save more than half the attendant's time on a call, considering that the attendant may have to place several calls before obtaining a valid answer.
To accurately predict when a new call should be placed, the predictor described performs two tasks. First, the predictor gathers statistics about call times and attendant talk times. Second, the new call placing time must be calculated and calls placed. A predictor functioning thusly is highly effective in managing outbound calling.
In stark contrast to the outbound systems previously described, are systems which handle inbound calling. Such automatic call directing (ACD) systems couple a plurality of incoming phone lines to a plurality of attendants, queuing inbound calls as they are received and assigning them to the attendants as they become free. If all attendants are busy at a particular time, incoming calls not yet assigned are placed in a queue and assigned to attendants as they become free in the order received (fair queueing). Such systems are commonplace and can handle, for example, airline, hotel and car rental reservations and help desks.
The distinct difference between ACP and ACD systems is that ACD systems have no control over incoming call rate. In other words, incoming calls occur due to action by the calling party, and the ACD system can only respond by answering an incoming call as it is received and either assigning it to a free attendant or queueing it until an attendant becomes free. In many applications, it is highly undesirable to place incoming calls on hold in a queue for a long period of time. Therefore, particular attention must be paid to sizing of the attendant pool. The attendant pool should be large enough to handle most calls at peak hours, but should not be so large as to waste significant amounts of the attendants' time during off hours. The sizing of an attendant pool for an ACD system is, therefore, not an easy task and one which is fraught with compromise. Most pools are sized so that, at many times, the pool has excess capacity to handle calls. This excess capacity is wasted and represents an undesirable expense on the part of the company employing the attendants.
A need has arisen in the marketplace for methods and systems which will handle both inbound and outbound calling to abate the excess capacity realized in an inbound application. In a pool of attendants, once a call is connected to an attendant, all calls are essentially the same. Whether a call was originated from the pool outbound, or from a customer inbound, the source becomes moot after the attendant is connected. However, there is one major difference between inbound and outbound calls. A call center manager can generally control the rate at which outbound calls are placed for attendants by utilizing a predictive dialer (ACP system). The arrival rate of inbound calls can vary widely over a day and are not controllable by a call center manager. Because of this, system managers have a much more difficult time scheduling personnel for inbound applications than outbound applications.
This problem can be alleviated by creating a system that can deal with both types of calls simultaneously, using a single agent pool. Since outbound call rates can be controlled via the predictive dialing system described above, outbound calls can be used to keep attendants busy that would normally be idle because of low inbound call rates.
For example, in a traditional inbound (ACD) application, there is always a problem matching the number of available attendants to the inbound call rate. The inbound call rate can vary randomly, causing either idle attendants or customers on hold. If some related outbound application can be handled by the same attendant pool working the ACD queue, the attendant loading can be leveled very effectively. The attendant pool can be sized to handle the largest inbound peakload without sacrificing efficiency when inbound calls drop off, due to the ability of the system to switch attendant resources to outbound calling. When inbound call rates drop off, a normal ACD will have some attendants go idle. However, with inbound/outbound call capability, as the inbound rate drops off, the system will automatically begin to increase its outbound calling rate. The calls are placed at a rate that just keeps all of the attendants that are not needed to take inbound calls busy, as in the above-described predictive dialer system.
Accordingly, a need exists in the art for an inbound/outbound call handling system which combines the utilization advantages of a two-way system with the power of an effective predictive dialer.